From d1bc66a20cdf7692282fdfb85e0dd7af98ead25d Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Thu, 17 Mar 2005 20:53:34 +0000 Subject: [PATCH] Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple 2005-03-17 Owen Taylor * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple pattern. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gdk/gdkpango.c | 9 +++++++-- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 43c6c7a130..cd2a51c2d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-03-17 Owen Taylor + + * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set + EXTEND_REPEAT on the stipple pattern. + 2005-03-17 Matthias Clasen * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 43c6c7a130..cd2a51c2d4 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-03-17 Owen Taylor + + * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set + EXTEND_REPEAT on the stipple pattern. + 2005-03-17 Matthias Clasen * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 43c6c7a130..cd2a51c2d4 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-03-17 Owen Taylor + + * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set + EXTEND_REPEAT on the stipple pattern. + 2005-03-17 Matthias Clasen * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c index c94f58d724..526dbc20d7 100644 --- a/gdk/gdkpango.c +++ b/gdk/gdkpango.c @@ -183,16 +183,20 @@ get_stipple_surface (GdkPangoRenderer *gdk_renderer, cairo_set_operator (tmp_cr, CAIRO_OPERATOR_SRC); cairo_show_surface (tmp_cr, alpha_surface, width, height); - + set_part_color (gdk_renderer, tmp_cr, part); - cairo_set_operator (tmp_cr, CAIRO_OPERATOR_OVER); + cairo_set_operator (tmp_cr, CAIRO_OPERATOR_ATOP); cairo_rectangle (tmp_cr, 0, 0, width, height); cairo_fill (tmp_cr); cairo_destroy (tmp_cr); cairo_surface_destroy (alpha_surface); + + gdk_renderer->priv->stipple_surface[part] = surface; } + + return gdk_renderer->priv->stipple_surface[part]; } static cairo_t * @@ -209,6 +213,7 @@ create_cairo_context (GdkPangoRenderer *gdk_renderer, cairo_pattern_t *pattern; pattern = cairo_pattern_create_for_surface (surface); + cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT); if (gdk_renderer->priv->base_gc->ts_x_origin != 0 || gdk_renderer->priv->base_gc->ts_y_origin != 0) -- 2.30.2